home *** CD-ROM | disk | FTP | other *** search
-
-
-
- uuuussssbbbbiiiinnnnppppuuuutttt((((7777)))) uuuussssbbbbiiiinnnnppppuuuutttt((((7777))))
-
-
-
- NNNNAAAAMMMMEEEE
- usbinput - Onyx3 usb keyboard and mouse input
-
- DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
- The Onyx3 system uses a USB keyboard and mouse for input. The devices
- connect to the system through the USB ports on the base IO device
- (Ibrick), either directly, or through a series of USB hubs. See usb(7)
- for information on valid USB topologies.
-
- CCCCoooommmmppppaaaattttiiiibbbbiiiilllliiiittttyyyy
- The only supported keyboard is the Onyx3 keyboard part number
- 062-0066-001 supplied by SGI. Other over the counter usb keyboards may
- work, but have not been qualified by SGI.
-
- Likewise, the only SGI qualified mouse is part number 063-0011-001.
-
- IIIInnnntttteeeerrrrffffaaaacccceeee aaaannnndddd AAAAddddmmmmiiiinnnniiiissssttttrrrraaaattttiiiioooonnnn
- USB input devices are presented to applications through the directories
- /dev/input[N], where N is the logical device number of the usb device.
- /dev/inputis an alias for /dev/input0 (ie. device 0) for compatibility
- reasons.
-
- The mapping of a physical device to its device number is controlled by
- ioconfig(1M) through the file /etc/ioconfig.conf. The logical controller
- number in /etc/ioconfig.conf corresponds to the device number, and
- determines the /dev/input[N] path to open to access it. For example, the
- following ioconfig.conf lines:
-
- 0 /hw/module/006c05/Ibrick/xtalk/15/pci/5/usb/1/1/keyboard
- 0 /hw/module/006c05/Ibrick/xtalk/15/pci/5/usb/1/2/mouse
- 1 /hw/module/006c05/Ibrick/xtalk/15/pci/5/usb/1/3/keyboard
- 1 /hw/module/006c05/Ibrick/xtalk/15/pci/5/usb/1/4/mouse
-
- Map two keyboards and two mice. The keyboard at physical location
- /hw/module/006c05/Ibrick/xtalk/15/pci/5/usb/1/1/keyboard is keyboard 0
- (/dev/input/keyboard), and the keyboard at physical location
- /hw/module/006c05/Ibrick/xtalk/15/pci/5/usb/1/3/keyboard is keyboard 1
- (/dev/input1/keyboard). Likewise for the mouse entries. See usb(7) for
- a description of the physical device path.
-
- hinv(1M) can be used to display usb devices that the system knows about
- and their corresponding device id. The hinv output for usb keyboards and
- mice looks like:
-
- USB Human Interface Device: device id 0 type keyboard
- USB Human Interface Device: device id 0 type mouse
- USB Human Interface Device: device id 1 type keyboard
- USB Human Interface Device: device id 1 type mouse
-
- If hinv shows a device id of -1, it means that the device is new to the
- system (ie. it has been plugged in after the system booted), and that
- ioconfig needs to be run to assign a device id and construct a
-
-
-
- PPPPaaaaggggeeee 1111
-
-
-
-
-
-
- uuuussssbbbbiiiinnnnppppuuuutttt((((7777)))) uuuussssbbbbiiiinnnnppppuuuutttt((((7777))))
-
-
-
- /dev/input[N]/{keyboard,mouse} entry point.
-
- If you want to change the device number of a device, you can edit
- /etc/ioconfig.conf and change the device number. You must rerun ioconfig
- to establish the new device number. Note that you should shut down any
- applications that have the device open under it's old device id before
- doing this. Also note that device id's must be unique among device
- types.
-
- Likewise, if you have stale entries in /etc/ioconfig.conf, you can delete
- them to reuse the device id's.
-
- The first time ioconfig sees a device, it assigns it an unused device id.
- The id assigned will be the lowest id available (ie. not appearing in the
- /etc/ioncofig.conf file for that type of device). The only way to pre-
- assign a given device id is to hand enter the device in
- /etc/ioconfig.conf (not recommended).
-
- HHHHooootttt PPPPlllluuuugggg
- USB keyboard and mouse devices are fully hot pluggable. If a
- /dev/input[X]/{keyboard,mouse} is open, and it is unplugged, any
- application having that device open will stall. Once a device of the
- same type is plugged back in, the application will continue. Note that
- plugging in a 'new' device (one not represented in /etc/ioconfig.conf)
- requires that ioconfig be run to assign a device id before it can be
- used.
-
- TTTTrrrroooouuuubbbblllleeeesssshhhhoooooooottttiiiinnnngggg
- There is currently no administrative tool to reset a usb keyboard or
- mouse. Unplugging and replugging the device is the only method of reset.
- Note that an unresponsive keyboard or mouse could be due to an
- unresponsive USB hub upstream. If this is suspected, you can unplug the
- hub, and plug it back in. Any downstream keyboard/mouse devices should
- come back as though they were hot plugged.
-
- NNNNOOOOTTTTEEEESSSS
- In order to minimize changes to application code, the usb keyboard and
- mouse driver convert usb usage codes to ps2 scan code sequences at the
- /dev/input[N]/keyboard devices. Likewise ps2 mouse codes are generated
- at /dev/input[N]/mouse.
-
- The entry points /dev/input/keyboard and /dev/input/mouse will always
- exist. If there is no corresponding physical device (ie. no keyboard
- and/or mouse with device id 0), the device will operate similar to
- /dev/null. If an application has the device open in this mode, and a
- physical device is then plugged in (and ioconfig is run) the application
- must be restarted to access the real device. This mode of operation is
- present to allow X to be started without a keyboard and mouse physically
- present for the purposes of manufacturing checkout, and should not be
- used or relied upon outside of that context.
-
-
-
-
-
- PPPPaaaaggggeeee 2222
-
-
-
-
-
-
- uuuussssbbbbiiiinnnnppppuuuutttt((((7777)))) uuuussssbbbbiiiinnnnppppuuuutttt((((7777))))
-
-
-
- EEEEXXXXAAAAMMMMPPPPLLLLEEEESSSS
- Assume we have a keyboard with the following ioconfig.conf entry:
-
- 0 /hw/module/006c05/Ibrick/xtalk/15/pci/5/usb/1/1/keyboard
-
- This means the keyboard is plugged into port 1 of a hub that is plugged
- into port 1 of the ibrick root hub.
-
- To omit the 2nd hub and plug the keyboard into the ibrick directly, move
- the keyboard, and change the entry in ioconfig.conf to:
-
- 0 /hw/module/006c05/Ibrick/xtalk/15/pci/5/usb/1/keyboard
-
- Conversly, to change the device id (and therefore the /dev/inputX
- directory) that the keyboard is grouped under, change the ioconfig.conf
- entry to something like:
-
- 2 /hw/module/006c05/Ibrick/xtalk/15/pci/5/usb/1/1/keyboard
-
- SSSSEEEEEEEE AAAALLLLSSSSOOOO
- usb(7), pckeyboard(7), pcmouse(7), ioconfig(1M).
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PPPPaaaaggggeeee 3333
-
-
-
-